Populate context with CRE metadata for all capability calls#1905
Populate context with CRE metadata for all capability calls#1905dhaidashenko wants to merge 1 commit intomainfrom
Conversation
📊 API Diff Results
|
There was a problem hiding this comment.
Pull request overview
This PR centralizes CRE context population in the generated capability server layer so individual capability methods no longer need to explicitly attach CRE metadata to context.Context.
Changes:
- Populate
ctxwith CRE metadata at the start of generatedExecutehandlers (actions/consensus/targets). - Populate
ctxwith CRE metadata at the start of generatedRegisterTriggerhandlers (triggers). - Update the codegen server template and regenerate affected
*_server_gen.gofiles.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/capabilities/v2/triggers/http/server/trigger_server_gen.go | Adds CRE context projection for HTTP trigger registration calls. |
| pkg/capabilities/v2/triggers/cron/server/trigger_server_gen.go | Adds CRE context projection for cron trigger registration calls. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/nodeaction/server/node_action_server_gen.go | Adds CRE context projection for test action execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/importclash/server/clash_server_gen.go | Adds CRE context projection for test action execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/consensus/server/consensus_server_gen.go | Adds CRE context projection for test consensus execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/basictrigger/server/basic_trigger_server_gen.go | Adds CRE context projection for test trigger registration. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/basicaction/server/basic_action_server_gen.go | Adds CRE context projection for test action execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/actionandtrigger/server/action_and_trigger_server_gen.go | Adds CRE context projection for both trigger registration and action execution. |
| pkg/capabilities/v2/protoc/pkg/templates/server.go.tmpl | Updates generator template to project CRE metadata into ctx (but introduces a template-scoping bug). |
| pkg/capabilities/v2/consensus/server/consensus_server_gen.go | Adds CRE context projection for consensus capability execution. |
| pkg/capabilities/v2/chain-capabilities/solana/server/client_server_gen.go | Adds CRE context projection for Solana capability trigger+execute entrypoints. |
| pkg/capabilities/v2/chain-capabilities/evm/server/client_server_gen.go | Adds CRE context projection for EVM capability trigger+execute entrypoints. |
| pkg/capabilities/v2/chain-capabilities/aptos/server/client_server_gen.go | Adds CRE context projection for Aptos capability execution. |
| pkg/capabilities/v2/actions/http/server/client_server_gen.go | Adds CRE context projection for HTTP action execution. |
| pkg/capabilities/v2/actions/confidentialworkflow/server/client_server_gen.go | Adds CRE context projection for confidential workflow action execution. |
| pkg/capabilities/v2/actions/confidentialhttp/server/client_server_gen.go | Adds CRE context projection for confidential HTTP action execution. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1d85813 to
c96ec14
Compare
There was a problem hiding this comment.
Pull request overview
This PR centralizes population of CRE metadata into context.Context for capability and trigger calls, so individual capability implementations no longer need to do it themselves (supporting the described bandwidth-optimization work).
Changes:
- Populate
ctxwith CRE metadata at the start ofExecute,RegisterTrigger, andUnregisterTriggeracross generated capability servers. - Update the protoc server template so newly generated servers include the same context enrichment.
- Apply the same updates to various v2 capability server implementations (actions, triggers, chain capabilities, and test capabilities).
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pkg/capabilities/v2/triggers/http/server/trigger_server_gen.go | Enriches ctx with CRE metadata for trigger register/unregister. |
| pkg/capabilities/v2/triggers/cron/server/trigger_server_gen.go | Enriches ctx with CRE metadata for trigger register/unregister. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/nodeaction/server/node_action_server_gen.go | Enriches ctx with CRE metadata for Execute path (test capability). |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/importclash/server/clash_server_gen.go | Enriches ctx with CRE metadata for Execute path (test capability). |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/consensus/server/consensus_server_gen.go | Enriches ctx with CRE metadata for Execute path (test capability). |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/basictrigger/server/basic_trigger_server_gen.go | Enriches ctx with CRE metadata for trigger register/unregister (test capability). |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/basicaction/server/basic_action_server_gen.go | Enriches ctx with CRE metadata for Execute path (test capability). |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/actionandtrigger/server/action_and_trigger_server_gen.go | Enriches ctx with CRE metadata for Execute + trigger register/unregister (test capability). |
| pkg/capabilities/v2/protoc/pkg/templates/server.go.tmpl | Updates generator template to inject CRE metadata into ctx for triggers/actions. |
| pkg/capabilities/v2/consensus/server/consensus_server_gen.go | Enriches ctx with CRE metadata for Execute path. |
| pkg/capabilities/v2/chain-capabilities/solana/server/client_server_gen.go | Enriches ctx with CRE metadata for Execute + trigger register/unregister. |
| pkg/capabilities/v2/chain-capabilities/evm/server/client_server_gen.go | Enriches ctx with CRE metadata for Execute + trigger register/unregister. |
| pkg/capabilities/v2/chain-capabilities/aptos/server/client_server_gen.go | Enriches ctx with CRE metadata for Execute path. |
| pkg/capabilities/v2/actions/http/server/client_server_gen.go | Enriches ctx with CRE metadata for Execute path. |
| pkg/capabilities/v2/actions/confidentialworkflow/server/client_server_gen.go | Enriches ctx with CRE metadata for Execute path. |
| pkg/capabilities/v2/actions/confidentialhttp/server/client_server_gen.go | Enriches ctx with CRE metadata for Execute path. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
c96ec14 to
ae6b4c3
Compare
ae6b4c3 to
29348e7
Compare
There was a problem hiding this comment.
Pull request overview
This PR centralizes CRE metadata propagation by enriching the context.Context inside generated capability server handlers, so downstream capability implementations no longer need to manually populate CRE context fields on each call.
Changes:
- Populate
ctxviarequest.Metadata.ContextWithCRE(ctx)in generatedExecutehandlers. - Populate
ctxviarequest.Metadata.ContextWithCRE(ctx)in generatedRegisterTrigger/UnregisterTriggerhandlers. - Update the protoc server template so newly generated servers include the same context enrichment.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/capabilities/v2/triggers/http/server/trigger_server_gen.go | Enrich context with CRE metadata for trigger register/unregister calls. |
| pkg/capabilities/v2/triggers/cron/server/trigger_server_gen.go | Enrich context with CRE metadata for trigger register/unregister calls. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/nodeaction/server/node_action_server_gen.go | Enrich context with CRE metadata for action execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/importclash/server/clash_server_gen.go | Enrich context with CRE metadata for action execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/consensus/server/consensus_server_gen.go | Enrich context with CRE metadata for consensus execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/basictrigger/server/basic_trigger_server_gen.go | Enrich context with CRE metadata for trigger register/unregister calls. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/basicaction/server/basic_action_server_gen.go | Enrich context with CRE metadata for action execution. |
| pkg/capabilities/v2/protoc/pkg/test_capabilities/actionandtrigger/server/action_and_trigger_server_gen.go | Enrich context with CRE metadata for both trigger and action paths. |
| pkg/capabilities/v2/protoc/pkg/templates/server.go.tmpl | Update generator template so future generated servers apply CRE context enrichment. |
| pkg/capabilities/v2/consensus/server/consensus_server_gen.go | Enrich context with CRE metadata for consensus execution. |
| pkg/capabilities/v2/chain-capabilities/solana/server/client_server_gen.go | Enrich context with CRE metadata for trigger register/unregister and execute calls. |
| pkg/capabilities/v2/chain-capabilities/evm/server/client_server_gen.go | Enrich context with CRE metadata for trigger register/unregister and execute calls. |
| pkg/capabilities/v2/chain-capabilities/aptos/server/client_server_gen.go | Enrich context with CRE metadata for execute calls. |
| pkg/capabilities/v2/actions/http/server/client_server_gen.go | Enrich context with CRE metadata for execute calls. |
| pkg/capabilities/v2/actions/confidentialworkflow/server/client_server_gen.go | Enrich context with CRE metadata for execute calls. |
| pkg/capabilities/v2/actions/confidentialhttp/server/client_server_gen.go | Enrich context with CRE metadata for execute calls. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Previously, each separate action had to explicitly populate the context. Example.
Now it's done on a higher level in the call stack.
Required for bandwidth optimization.